package com.jf.cloud.service.sysmanager.dao;

import java.util.List;
import java.util.Map;

import com.jf.cloud.service.sysmanager.common.base.IBaseService;
import com.jf.cloud.service.sysmanager.common.base.OPaging;
import com.jf.cloud.service.sysmanager.entity.PubgMatch;
import com.jf.cloud.service.sysmanager.entity.PubgTeam;
import com.jf.cloud.service.sysmanager.entity.PubgUser;
import com.jf.cloud.service.sysmanager.entity.PubgUserLoginBanding;
import com.jf.cloud.service.sysmanager.entity.PubgUserTeam;


/**
 * 员工服务接口
 * 
 * @author 代码机1.0 创建时间：2018-03-31
 */
public interface IPubgUserService extends IBaseService<PubgUser, Long> {
	/**
	 * 获取用户信息（后台调用）
	 * 
	 * @author 朱建文 创建时间：2018年4月9日 上午11:19:31
	 */
	public Map<String, Object> getUserInfoDetail(Long rowId);
	
	/**
	 * 获取用户信息（前台调用）
	 * 
	 * @author 朱建文 创建时间：2018年4月9日 上午11:19:31
	 */
	public Map<String, Object> getUserInfo(Long rowId);
	
	/**
	 * 更新用户信息
	 * 
	 * @author 朱建文 创建时间：2018年4月2日 下午1:32:25
	 */
	public boolean updateUserInfo(PubgUser pubgUser);
	
	/**
	 * 申请加入战队插入 队员-战队，俱乐部关系
	 * 
	 * @author 朱建文 创建时间：2018年4月3日 下午7:56:37
	 */
	public boolean applyJoinTeam(PubgUserTeam pubgUserTeam, PubgTeam pubgTeam);
	
	/**
	 * 获取战队下的队员列表
	 * 
	 * @author 朱建文 创建时间：2018年4月4日 下午7:50:47
	 */
	public Map<String, Object> findMemberList(OPaging<Map<String, Object>> page, Integer userRole, boolean isGroup);

	/**
	 * 队员申请加入比赛
	 * 
	 * @author 朱建文 创建时间：2018年4月8日 上午10:54:16
	 */
	public void applyJoinMatch(PubgUserTeam pubgUserTeam, PubgMatch pubgMatch, Double userBalance) throws Exception;

	/**
	 * 更新邀请码
	 * 
	 * @author 朱建文 创建时间：2018年4月9日 下午7:02:30
	 */
	public void updateInvideCode(PubgUser pubgUser, Long rowId, String inviteCode) throws Exception;

	/**
	 * 更新用户图片
	 * 
	 * @author 朱建文 创建时间：2018年4月10日 下午4:54:20
	 */
	public void updateUserPhoto(Long rowId, String photo) throws Exception;
	/**
	 * 获取队员详情
	 * 
	 * @author 朱建文 创建时间：2018年4月11日 上午11:09:33
	 */
	public Map<String, Object> getMemberDetail(Integer userRole, Long rowId) throws Exception;
	
	/**
	 * 更新用户的注册IP
	 * 
	 * @author 朱建文 创建时间：2018年5月7日 下午3:53:58
	 */
	public void updaeRegIp(Long rowId, String regIp);
	
	/**
	 * 查询用户登陆的绑定信息
	 * 
	 * @author 朱建文 创建时间：2018年5月9日 上午10:21:46
	 */
	public List<PubgUserLoginBanding> findUserBandingInfo(Long userId, Integer thirdType);
	
}
